Conventional protocol controllers often implement some form of software device identification. For example, the Peripheral Connect Interface (PCI) bus protocol provides two 16-bit identification fields called Vendor ID and Device ID. Software drivers access these fields to identify which hardware devices to control.
In a conventional protocol chip, the identification fields are hardwired. The conventional methodology calls for the identification fields to be updated any time a functional change is made to the chip. Updating the fields each time a functional change is made can potentially cause a problem because the functional change can involve mask layers that are not used for generating the identification information.
It would be desirable to implement identification fields that may be updated by software.